Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Salzburg Challenger Milan Challenger Tampere Challenger Wimbledon - London Nordea Open - Bastad Hamburg European Open - Hamburg M25 Muttenz Seville Challenger M25 Sion Davis Cup, Group A, Bologna U.S. Open - New York Mallorca Challenger M25 Pozzuoli Oeiras 4 Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Alicante Challenger Malaga Challenger Lima 2 Challenger Olbia Challenger Stockholm Open - Stockholm Swiss Indoors Basel - Basel Guayaquil Challenger M25 Trnava Valencia Challenger Montevideo Challenger M25 Monastir Danderyd Challenger Nottingham Challenger Naples Challenger Cherbourg Challenger Australian Open - Melbourne Oeiras 3 Challenger BNP Paribas Open - Indian Wells Miami Open - Miami Qatar ExxonMobil Open - Doha M25 Trento Manama Challenger Quimper Challenger M25 Toulouse-Balma Davis Cup, World Group, Q, SWE-BRA 1-3 Wimbledon - London Dubai Duty Free Tennis Championships - Dubai Hamburg Challenger Lugano Challenger Phoenix Challenger M25 Reus Ostrava Challenger M25 Klosters EFG Swiss Open - Gstaad Shenzhen 1 Challenger Wuxi Challenger Mauthausen Challenger Guangzhou Challenger Taipei Challenger French Open - Paris Heilbronn Challenger M25 Villeneuve-Loubet Blois Challenger Citi Open - Washington Vicenza Challenger Cary Challenger Sassuolo Challenger San Marino Challenger Modena Challenger Nordea Open - Bastad Zug Challenger M25 Lesa U.S. Open - New York Seville Challenger Istanbul Challenger Como Challenger Orleans Challenger Charleston Challenger Tiburon Challenger Olbia Challenger BNP Paribas Nordic Open - Stockholm Zug Challenger Francavilla Challenger Mouilleron-Le-Captif Challenger Seoul Challenger Roanne Challenger Fairfield Challenger M25 Trnava M25 Heraklion Matsuyama Challenger M25 Heraklion Kobe Challenger Glasgow Challenger Monza Challenger Lugano Challenger Pune Challenger Davis Cup, World Group, Q, SUI-ESP 1-3 Mouilleron-Le-Captif Challenger Yokkaichi Challenger Chennai Challenger Yokohama Challenger Ostrava Challenger St. Tropez Challenger Zadar Challenger Zug Challenger Sao Paulo Challenger Thionville Challenger Oeiras 4 Challenger Grodzisk Mazowiecki Challenger Temuco Challenger Nonthaburi 2 Challenger New Delhi Challenger M25 Roehampton Nonthaburi 3 Challenger Oeiras 5 Challenger Asuncion Challenger M25 Klosters Sassuolo Challenger Porto Challenger Mallorca Championships - Mallorca Naples Challenger Rome Challenger Concepcion Challenger Tiriac Open - Bucharest M25 Sion Campinas Challenger Prague Challenger Tunis Challenger M25 Santa Margherita di Pula Hamburg Open - Hamburg Gonet Geneva Open - Geneva Perugia Challenger Heilbronn Challenger M25 Villeneuve-Loubet M25 Marburg Braunschweig Challenger Nordea Open - Bastad San Marino Challenger U.S. Open - New York Todi Challenger M25 Lesa Genova Challenger Seville Challenger Porto 2 Challenger Szczecin Challenger M25 Pozzuoli Orleans Challenger Bad Waltersdorf Challenger Braga Challenger Lisbon Challenger Portugal F1 Portugal F2 Portugal F3 Egypt F1 Egypt F2 Egypt F3 Egypt F4 Canada F6 Sweden F4 Sweden F6 Sweden F7 Israel F1 Israel F2 Israel F3 Great Britain F5 Great Britain F6 Great Britain F7 Switzerland F1 Egypt F12 Egypt F13 Egypt F14 Sweden F2 Romania F3 Netherlands F1 Netherlands F2 Netherlands F3 Switzerland F4 Germany F1 Switzerland F1 Switzerland F2 France F9 Italy F11 Switzerland F3 Switzerland F1 Italy F3 Italy F37 Spain F1 (Manacor) Switzerland F1 (Oberentfelden) Switzerland F2 (Bellevue) Italy F3 (Basiglio) Italy F4 (Sondrio) Italy F8 (Santa Margherita Di Pula) Italy F9 (Santa Margherita Di Pula) Italy F10 (Santa Margherita Di Pula) Italy F15 (Reggio Emilia) Italy F16 (Padova) Italy F17 (Bergamo) Austria F2 (Kramsach) Austria F3 (Wels) Switzerland F4 (Neuchatel) Switzerland F5 (Sion) Thailand F7 (Nonthaburi) Thailand F8 (Nonthaburi) Thailand F9 (Pattaya) Greece F9 (Heraklion) Greece F10 (Heraklion) Greece F2 (Heraklion) Greece F3 (Heraklion) Italy F6 (Santa Margherita Di Pula) Italy F7 (Santa Margherita Di Pula) France F7 (La Grande Motte) Czech Republic F6 (Brno) Morocco F1 (Khemisset) Morocco F2 (Meknes) Italy F24 (Cuneo) Italy F26 (Trieste) Italy F27 (Santa Margherita Di Pula) Italy F28 (Santa Margherita Di Pula) Tunisia F35 (Monastir) Tunisia F36 (Monastir) Tunisia F37 (Monastir) Estonia F3 (Parnu) Czech Republic F12 (Prague) M15 Sharm El Sheikh M15 Sharm El Sheikh M15 Sharm El Sheikh M15 Tel Aviv M15 Reus M25 Santa Margherita Di Pula M25 Angers M25 Vercelli M15 Kaltenkirchen M15 Alkmaar M25 Cuneo M25 Casinalbo M25 Gandia M15 Getafe Madrid M15 Parnu M15 Prague M15 Milovice M15 Heraklion M15 Monastir M15 Monastir M25 Trento M15 Caslano M25 Klosters M15 Sharm El Sheikh M15 Sharm El Sheikh M15 Sharm El Sheikh M15 Cairo M15 Cairo M15 Sharm El Sheikh M15 Sharm El Sheikh M15 Sharm El Sheikh M25 Trimbach M15 Monastir M15 Monastir M15 Monastir M15 Majadahonda M15 Troisdorf M15 Brcko M15 Genova M15 Bergamo M25 Wroclaw M15 L'Aquila M15 Perugia M25 Muttenz M25 Caslano M25 Sierre M15 Parnu M15 Monastir M15 Ostrava M25 Trento M15 Creteil M15 Poitiers M15 Cairo M15 Cairo M25 Cairo M25 Kalmar M25 Kiseljak M25 Grasse M25 Klosters M25 Muttenz M25 Caslano M25 Sierre M25 Cairo M15 Madrid M15 Opatija M25 Santa Margherita di Pula M25 Santa Margherita di Pula M25 Reggio Emilia M25 Mataro M25 Rome M25 Monastir M15 Zahra Eckental Challenger Bratislava Challenger Helsinki Challenger Andria Challenger Tunis Challenger Arad Challenger Poznan Challenger Tampere Challenger Liberec Challenger Cordenons Challenger Bangkok Challenger Shanghai Challenger Napa Challenger Sacramento Challenger Tiburon Challenger Eckental Challenger Helsinki Challenger Drummondville Challenger Turin Challenger Rome Challenger Furth Challenger Caltanissetta Challenger Ilkley Challenger Braunschweig Challenger Poznan Challenger Aptos Challenger Vancouver Challenger Como Challenger Istanbul Challenger Izmir Challenger Mons Challenger Rennes Challenger Bratislava Challenger Brescia Challenger Bergamo Challenger Jonkoping Challenger Barletta Challenger Aix En Provence Challenger Bordeaux Challenger Prostejov Challenger Caltanissetta Challenger Perugia Challenger Bastad Challenger Biella Challenger Cordenons Challenger Manerbio Challenger Como Challenger Genova Challenger Rome Challenger Mohammedia Challenger Dallas Challenger San Francisco Challenger Barletta Challenger Aix En Provence Challenger Bordeaux Challenger Vicenza Challenger Lyon Challenger Poprad Tatry Challenger Bastad Challenger Tampere Challenger Cordenons Challenger Manerbio Challenger Como Challenger Genova Challenger Tiburon Challenger Stockton Challenger Mouilleron-Le-Captif Challenger Bangalore Challenger Rennes Challenger Budapest Challenger Irving Challenger St. Brieuc Challenger Tunis Challenger Aix En Provence Challenger Prostejov Challenger Bastad Challenger Chicago Challenger Cary Challenger Orleans Challenger Brest Challenger Mouilleron-Le-Captif Challenger Bangalore Challenger Pune Challenger Rennes Challenger Phoenix Challenger Alicante Challenger Aix En Provence Challenger Heilbronn Challenger Poznan Challenger Lyon Challenger Ludwigshafen Challenger Braunschweig Challenger Tampere Challenger Hamburg Challenger Bratislava Challenger Helsinki Challenger Canberra Challenger Nur-Sultan Challenger Prague Challenger Prague II Challenger Aix En Provence Challenger Biella Challenger Split Challenger Istanbul Challenger Cary Challenger Orlando Challenger Biella 4 Challenger Marbella Challenger Split 1 Challenger Split 2 Challenger Rome 1 Challenger Ostrava Challenger Prague Challenger Lyon Challenger Aix En Provence Challenger Braunschweig Challenger St. Tropez Challenger Cassis Challenger Rennes Challenger Biel Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Tenerife Challenger Forli 1 Challenger Biel Challenger Marbella Challenger Lugano Challenger Bordeaux Challenger Tunis Challenger Troisdorf Challenger Prostejov Challenger Perugia Challenger Montechiarugolo - Parma Challenger Salzburg Challenger Todi Challenger Verona Challenger Trieste Challenger San Benedetto Challenger Vancouver Challenger Toulouse Challenger Tulln Challenger Sibiu Challenger Lisbon Challenger Campinas Challenger Rio De Janeiro Challenger Coquimbo 2 Challenger Helsinki Challenger Andria Challenger Maia Challenger Tigre 1 Challenger Tigre 2 Challenger Piracicaba Challenger Ottignies-Louvain-la-Neuve Challenger Vilnius Challenger Phoenix Challenger Szekesfehervar Challenger Sanremo Challenger Roseto Degli Abruzzi Challenger Rome Challenger Split Challenger Bordeaux Challenger Prostejov Challenger Perugia Challenger Montechiarugolo Challenger Modena Challenger If Stockholm Open - Stockholm SkiStar Swedish Open - Bastad If Stockholm Open - Stockholm Open de Nice Cote d'Azur - Nice SkiStar Swedish Open - Bastad If Stockholm Open - Stockholm Aircel Chennai Open - Chennai Ecuador Open - Quito Brasil Open - Sao Paulo Rio Open - Rio de Janeiro Barcelona Open BancSabadell - Barcelona SkiStar Swedish Open - Bastad Aircel Chennai Open - Chennai Open Sud de France - Montpellier Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad Suisse Open - Gstaad If Stockholm Open - Stockholm Brisbane International - Brisbane Memphis Open - Memphis Delray Beach Open - Delray Beach Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad If Stockholm Open - Stockholm Erste Bank Open - Vienna Qatar ExxonMobil Open - Doha Gazprom Hungarian Open - Budapest TEB BNP Paribas Istanbul Open - Istanbul Gerry Weber Open - Halle SkiStar Swedish Open - Bastad Swiss Open - Gstaad Abierto Mexicano - Los Cabos Intrum Stockholm Open - Stockholm Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad Intrum Stockholm Open - Stockholm Murray River Open - Melbourne Nordea Open - Bastad Abierto Mexicano de Tenis Mifel - Los Cabos Truist Atlanta Open - Atlanta Citi Open - Washington Stockholm Open - Stockholm Kremlin Cup - Moscow Astana Open - Nur-Sultan Tata Open Maharashtra - Pune Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Barcelona Open Banc Sabadell - Barcelona BMW Open - Munich Nordea Open - Bastad Swiss Open - Gstaad Plava Laguna Croatia Open - Umag Rakuten Japan Open - Tokyo Stockholm Open - Stockholm Korea Open - Seoul Tata Open Maharashtra - Pune ABN AMRO World Tennis Tournament - Rotterdam Open 13 Provence - Marseille Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Marrakech Banja Luka Open - Banja Luka Sony Open Tennis - Miami Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Miami Open - Miami BNP Paribas Open - Indian Wells Miami Open - Miami Miami Open - Miami Rogers Cup - Toronto BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Miami Open - Miami BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Australian Open Qualifying - Doha Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Davis Cup, Group I, PO, SWE-DEN 3-2 Davis Cup, Group I, PO, ROU-SWE 3-1 Davis Cup, Group I, 1R, SWE-AUT 2-3 Davis Cup, Group I, PO, SWE-NED 0-5 Davis Cup, Group I, PO, ISR-SWE 3-1 Davis Cup, Group II, 2R, TUR-SWE 1-4 Davis Cup, Group II, 3R, SWE-LTU 5-0 Davis Cup, Group I, 1R, UKR-SWE 2-3 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, World Group, QR, COL-SWE 4-0 Davis Cup, World Group, QR, SWE-CHI 3-1 Davis Cup, Finals, Group B Davis Cup, Finals, QF, RUS-SWE 2-0 Davis Cup, Qualifiers, 1R, SWE-JPN 3-2 Davis Cup, Group A, Bologna Davis Cup, World Group, PO, SWE-BIH 3-1 Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) All Lower level tournaments Maia Challenger Davis Cup, World Group I, 1R, SWE-IND 4-0 Davis Cup, World Group I, 1R, SUI-PER 4-0